Opener    ¬  Þ  ¬  ¬  ¬  ¬ . . .

o  Opener unpacks various common types of archived files;
     handy when perusing ftp servers.  Currently handles:
	*.Z,tar,shar,lzh	unix compressed files
	*.gz		GNU gzip-compressed files
	*.uu		uuencoded file
	*.hqx,bin,sit	macintosh archives
	*.arc,zip,zoo	msdos arc archives
	*.PS	(Preview doesn't catch cap .PS)
	*.arj		msdos arj archives
			(extraction only)
	*.compressed	NeXT compressed files

     When you double-click on one of these files in the Workspace,
     Opener will catch it and unpack it.  If the file comes from a 
     Usenet source archive (like mod.sources) Opener can
     additionally unpack and compile that software: e.g., open
     comp.sources.unix/.../cpp/part{1,2,3}.Z, and Opener 
     will extract and attempt to build that code.

o  Opener creates .tar.Z or other archives: 
     drag a collection of directories and files onto Opener's icon. 
     A dialog panel will appear, and you can pick the format to 
     use (.tar, .tar.Z, .lzh, etc), edit the archival command 
     if you like, and edit the underlying commands by pushing the
     "Edit archive table" button in the Preferences... panel.
     In general, if you want to interact a bit to adjust the specific
     archival command, then drag files onto Opener's icon.

o  Remote NeXT archives: to submit a directory to the NeXT
     archives at sonata.cc.purdue.edu and cs.orst.edu, put your
     contribution in a folder, say x.app, make sure that a plain
     text file x.app/README exists, and drop x.app/ onto Opener,
     creating a remote archive.  The files x.app.README and
     x.app.tar.Z will be created, ftp-ed to the archives, and an 
     e-mail note will be composed and addressed to the archivists 
     to announce it.  The shell scripts Submit and submit do this.

o  Installation:
     Because Opener includes all its source, simply put Opener.app
     in the appropriate Apps/ directory.  Make any changes in place.
     You may wish to remove Opener.app/test* (archive files used
     only for testing), and Opener.app/utils/ (source for xlharc, booz,
     and other archivers).  If you want to use other versions of
     archival commands, you can: put them in Opener.app/;
     or, edit Opener.app/Opener.table to make paths explicit;
     or, put them in a well-known place and make sure that
     Opener.app/, which is typically searched first, does not contain
     redundant commands.

o  To add new file types:
	The file Opener.table lists suffix/command pairs
	that are used to identify and unpack various kinds of files.
	You need to edit this table, and add an icon for the new type:
    add ...
	- a line to Opener.table, 
	       (formerly, new code in Controller.m:doFile())
	- a utility in utils/..., and in Makefile.postamble
	- an icon to the TIFF suitcase in Opener.nib
	- suffixes to  types[] in Controller.m:-openRequest

o  Monitoring:
	We are interested in tracking software flow Ð learning
         how quickly and widely software travels.  The first time you
         launch Opener a message is sent to a monitor mailbox.
         This is a one-time message and is only used for mapping
         software flux.  There is also a "Suggestion..." menu item
	under "Info ±>" which lets you send suggestions to the
	author.  Thanks for your help.

o  Summary of changes in version 3.1.2:
	- Revised icons for .bin, .hqx, .sit (correct Apple colors)
    	- Corrected Joe Reiss' e-mail address
	- Added .compressed filetype
	- Eliminated use of unsit when unpacking .hqx files
	- Munged mcvert to create only the data fork of a MacBinary 	   file instead of all resource forks, since this is the only portion 
	   needed to open these files on a NeXT (this concerns .hqx 
	   files)
	- New versions of zip, unzip, gzip and gunzip
	
Please let me know if you find bugs or make changes.

Michael Hawley  (March 10, 1994)
mike@media-lab.mit.edu
Copyright ã MIT Media Laboratory, March 1994

o  Acknowledgements:

Some unpacking tools were collected from the network.

arc v1.2 (5.21) 7-31-88
ã Thom Henderson,
    Howard Chu (hyc@umix.cc.umich.edu)

booz v2.0 7-7-91
    Rahul Dhesi (dhesi@cirrus.com)

mcvert v1.6 4-91
    Rick Zaccone (zaccone@bucknell.edu)

zip v2.0.1 9-93 + unzip v5.1 2-94
ã Mark Adler, Richard Wales, Jean-Loup Gailly, Kai Uwe 
	Rommel, Igor Mandrichenko (zip-bugs@cs.ucla.edu)

xlharc v0.03 (beta version)
    Yooichi Tagawa (Nikkei-MIX ID: y.tagawa)

unsit v1.5c 8-3-89
    Allan G. Weber (weber%brand.usc.edu@oberon.usc.edu)

gzip + gunzip v1.2.4 8-18-93
     ã Jean-Loup Gailly (jloup@chorus.fr), Mark Adler, Peter 
         Jannesen, Haruhiko Okumura, Phil Katz

unarj v2.3 1-92
 ã Robert K. Jung (robjung@world.std.com)

Garance Alistair Drosehn  (gad@eclipse.its.rpi.edu) provided helpful suggestions and code (via Scott Hess and Eric Scott) for safe filename-quoting, and for setting the output directory.  About a hundred users have sent in comments and suggestions that have improved the program.

Denise Blakeley (blake015@mc.duke.edu) and Subrata Sircar (Subrata_Sircar@next.com) collaborated to make Opener v3.1.  They brought Opener up to NeXTSTEP 3.1 compatibility, made it and the included utilities Multi-Architecture Binaries (i.e., fat), and included new unpacking utilities gzip/gunzip and unarj.  Joe Reiss
(jreiss@magnus.acs.ohio-state.edu) contributed all-new color icons.

Denise Blakeley (blake015@mc.duke.edu) is the current maintainer of Opener.